#define _CRT_SECURE_NO_WARNINGS 1
#include <string.h>

#define intptr int*



//struct Stu
//{
//	char namr[20];
//	int age;
//	char sex[10];
//	double score;
//}stu1;
//int main()
//{
//	struct Stu stu2;
//	return 0;
//}					



//
//struct Node
//{
//	int data;
//	struct Node* next;
//};
//int main()
//{
//
//	return 0;
//}

#include <stdio.h>
#include <stddef.h>
//struct S1
//{
//	char c1;//1
//	int i;	//4
//	char c2;//1
//};
//
//struct S2
//{
//	char c1; //1
//	char c2; //1
//	int i;	 //4
//};

//struct S3
//{
//	double d;
//	char c;
//	int i;
//};
//struct S4
//{
//	char c1;
//	struct S3 s3;
//	char d;
//};
//int main()
//{
//	struct S1 s1;
//	struct S2 s2;
//
//	printf("%d\n", sizeof(struct S4));
//	printf("%d\n", offsetof(struct S2, c1));
//	printf("%d\n", offsetof(struct S2, c2));
//	printf("%d\n", offsetof(struct S2, i));
//	return 0;
//}


void quickSort(int* arr, int left, int right)
{
	if (left < right)
	{
		int l = left;
		int r = right;
		int tmp = arr[l];
		while (l < r)
		{
			while (l < r && arr[r] >= tmp)
			{
				--r;
			}
			arr[l] = arr[r];
			while (l < r && arr[l] <= tmp)
			{
				++l;
			}
			arr[r] = arr[l];
		}
		arr[l] = tmp;
		quickSort(arr, left, l - 1);
		quickSort(arr, l + 1, right);
	}
	else
		return;
}
//void quickSort(int* arr, int left, int right)
//{
//	if (left >= right) return;
//
//	int pivot = arr[left];
//	int _left = left;
//	int _right = right;
//
//	while (_left < _right) {
//		while (arr[_right] >= pivot && _left < _right) {
//			_right--;
//		}
//
//		arr[_left] = arr[_right];
//
//		while (arr[_left] <= pivot && _left < _right) {
//			_left++;
//		}
//
//		arr[_right] = arr[_left];
//	}
//
//	arr[_left] = pivot;
//
//	quickSort(arr, left, _left - 1);
//	quickSort(arr, _right + 1, right);
//
//	return;
//
//}

int main()
{
	int arr[] = { 9,8,7,6,5,4,3,2,1,1 };
	int left = 0;
	int right = 9;
 	quickSort(arr, left, right);
	return 0;
}